package com.shundr.auth.user.model;

import java.io.Serializable;

import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable(tableName = "UserInfo")
public class UserInfo implements Serializable {

	public UserInfo(Integer userId, String userPhone, String wechatOpenId,
			String userName, Integer userAges, String userCitizenNumber,
			Float userDriverAges, Integer userStatus, String userTelephone,
			Short userType, String userRegesiterTime,
			Short companyValidationStatus, String companyValidationMsg,
			Short idValidationStatus, String idValidationMsg,
			String userCitizenPic, String userDriverPic, String userHeadPic,
			String accessToken, String lastActiveTime, boolean serialIdChanged,
			Integer userQualityStaff) {
		super();
		this.userId = userId;
		this.userPhone = userPhone;
		this.wechatOpenId = wechatOpenId;
		this.userName = userName;
		this.userAges = userAges;
		this.userCitizenNumber = userCitizenNumber;
		this.userDriverAges = userDriverAges;
		this.userStatus = userStatus;
		this.userTelephone = userTelephone;
		this.userType = userType;
		this.userRegesiterTime = userRegesiterTime;
		this.companyValidationStatus = companyValidationStatus;
		this.companyValidationMsg = companyValidationMsg;
		this.idValidationStatus = idValidationStatus;
		this.idValidationMsg = idValidationMsg;
		this.userCitizenPic = userCitizenPic;
		this.userDriverPic = userDriverPic;
		this.userHeadPic = userHeadPic;
		this.accessToken = accessToken;
		this.lastActiveTime = lastActiveTime;
		this.serialIdChanged = serialIdChanged;
		this.userQualityStaff = userQualityStaff;
	}

	/**
	 * 短信接收内容不同 CatpchaType
	 * 
	 * @author larry 2015-4-16 上午11:38:28
	 * @version 1.0.0
	 *
	 */
	public static class CatpchaType {
		public static final String REGISTER = "0";
		public static final String RESET_PASSWORD = "1";
	}

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 用户编号，主键
	 */
	@DatabaseField(generatedId = true)
	public Integer userId;

	/**
	 * 移动电话号码，用于短信消息发送，同时用作初始登录密码
	 */
	@DatabaseField
	public String userPhone;

	/**
	* 
	*/
	@DatabaseField
	public String wechatOpenId;

	/**
	 * 用户登录名姓名,要求保持唯一性
	 */
	@DatabaseField
	public String userName;

	/**
	 * 用户年龄，可以通过驾驶证号（身份证号）计算出来
	 */
	@DatabaseField
	public Integer userAges;

	/**
	 * 用户身份证号，也是唯一
	 */
	@DatabaseField
	public String userCitizenNumber;

	/**
	 * 用户驾龄
	 */
	@DatabaseField
	public Float userDriverAges;

	/**
	 * 可用状态：0-不可用，1-可用
	 */
	@DatabaseField
	public Integer userStatus;

	/**
	 * 固定电话
	 */
	@DatabaseField
	public String userTelephone;

	/**
	 * 用户类型：0 司机 1 发货人
	 */
	@DatabaseField
	public Short userType;

	/**
	 * 注册时间
	 */
	@DatabaseField
	public String userRegesiterTime;

	/**
	 * 0为未认证，1为在审核，2为已审核公司，3为审核不通过
	 */
	@DatabaseField
	public Short companyValidationStatus;

	/**
	 * 公司审核提示信息（主要是不通过的时候的理由）
	 */
	@DatabaseField
	public String companyValidationMsg;

	/**
	 * 0为未认证，1为在审核，2为已审核，3为审核不通过
	 */
	@DatabaseField
	public Short idValidationStatus;

	/**
	 * 审核提示信息（主要是不通过的时候的理由）
	 */
	@DatabaseField
	public String idValidationMsg;

	/**
	 * 身份证图片路径
	 */
	@DatabaseField
	public String userCitizenPic;

	/**
	 * 驾驶证图片路径
	 */
	@DatabaseField
	public String userDriverPic;

	/**
	* 
	*/
	@DatabaseField
	public String userHeadPic;
	@DatabaseField
	public String accessToken;
	@DatabaseField
	public String lastActiveTime;
	@DatabaseField
	public boolean serialIdChanged;
	
	@DatabaseField
	private int userQualityStaff;

	public UserInfo() {
	}

	public UserInfo(Integer userId, String userName, Integer userAges,
			String userCitizenNumber, Float userDriverAges, Integer userStatus,
			String userPhone, String userTelephone, Short userType,
			String userRegesiterTime, Short companyValidationStatus,
			String companyValidationMsg, Short idValidationStatus,
			String idValidationMsg, String userCitizenPic, String userDriverPic) {
		super();
		this.userId = userId;
		this.userName = userName;
		this.userAges = userAges;
		this.userCitizenNumber = userCitizenNumber;
		this.userDriverAges = userDriverAges;
		this.userStatus = userStatus;
		this.userPhone = userPhone;
		this.userTelephone = userTelephone;
		this.userType = userType;
		this.userRegesiterTime = userRegesiterTime;
		this.companyValidationStatus = companyValidationStatus;
		this.companyValidationMsg = companyValidationMsg;
		this.idValidationStatus = idValidationStatus;
		this.idValidationMsg = idValidationMsg;
		this.userCitizenPic = userCitizenPic;
		this.userDriverPic = userDriverPic;
	}

	public Integer getUserId() {
		return userId;
	}

	public void setUserId(Integer userId) {
		this.userId = userId;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public Integer getUserAges() {
		return userAges;
	}

	public void setUserAges(Integer userAges) {
		this.userAges = userAges;
	}

	public String getUserCitizenNumber() {
		return userCitizenNumber;
	}

	public void setUserCitizenNumber(String userCitizenNumber) {
		this.userCitizenNumber = userCitizenNumber;
	}

	public Float getUserDriverAges() {
		return userDriverAges;
	}

	public void setUserDriverAges(Float userDriverAges) {
		this.userDriverAges = userDriverAges;
	}

	public Integer getUserStatus() {
		return userStatus;
	}

	public void setUserStatus(Integer userStatus) {
		this.userStatus = userStatus;
	}

	public String getUserPhone() {
		return userPhone;
	}

	public void setUserPhone(String userPhone) {
		this.userPhone = userPhone;
	}

	public String getUserTelephone() {
		return userTelephone;
	}

	public void setUserTelephone(String userTelephone) {
		this.userTelephone = userTelephone;
	}

	public Short getUserType() {
		return userType;
	}

	public void setUserType(Short userType) {
		this.userType = userType;
	}

	public String getUserRegesiterTime() {
		return userRegesiterTime;
	}

	public void setUserRegesiterTime(String userRegesiterTime) {
		this.userRegesiterTime = userRegesiterTime;
	}

	public Short getCompanyValidationStatus() {
		return companyValidationStatus;
	}

	public void setCompanyValidationStatus(Short companyValidationStatus) {
		this.companyValidationStatus = companyValidationStatus;
	}

	public String getCompanyValidationMsg() {
		return companyValidationMsg;
	}

	public void setCompanyValidationMsg(String companyValidationMsg) {
		this.companyValidationMsg = companyValidationMsg;
	}

	public Short getIdValidationStatus() {
		return idValidationStatus;
	}

	public void setIdValidationStatus(Short idValidationStatus) {
		this.idValidationStatus = idValidationStatus;
	}

	public String getIdValidationMsg() {
		return idValidationMsg;
	}

	public void setIdValidationMsg(String idValidationMsg) {
		this.idValidationMsg = idValidationMsg;
	}

	public String getUserCitizenPic() {
		return userCitizenPic;
	}

	public void setUserCitizenPic(String userCitizenPic) {
		this.userCitizenPic = userCitizenPic;
	}

	public String getUserDriverPic() {
		return userDriverPic;
	}

	public void setUserDriverPic(String userDriverPic) {
		this.userDriverPic = userDriverPic;
	}

	public String getUserHeadPic() {
		return userHeadPic;
	}

	public void setUserHeadPic(String userHeadPic) {
		this.userHeadPic = userHeadPic;
	}

	public String getWechatOpenId() {
		return wechatOpenId;
	}

	public void setWechatOpenId(String wechatOpenId) {
		this.wechatOpenId = wechatOpenId;
	}

	public String getAccessToken() {
		return accessToken;
	}

	public void setAccessToken(String accessToken) {
		this.accessToken = accessToken;
	}

	public String getLastActiveTime() {
		return lastActiveTime;
	}

	public void setLastActiveTime(String lastActiveTime) {
		this.lastActiveTime = lastActiveTime;
	}

	public boolean isSerialIdChanged() {
		return serialIdChanged;
	}

	public void setSerialIdChanged(boolean serialIdChanged) {
		this.serialIdChanged = serialIdChanged;
	}

	public Integer getUserQualityStaff() {
		return userQualityStaff;
	}

	public void setUserQualityStaff(Integer userQualityStaff) {
		this.userQualityStaff = userQualityStaff;
	}

}
